package com.ruoyi.personnel.salary.calculation.service;

import com.ruoyi.personnel.salary.calculation.domain.CalculationCond;
import com.ruoyi.personnel.salary.calculation.domain.CalculationDomain;

import java.util.List;

/**
 * 工资计算业务层
 * @author lsy 2021.7.20
 */
public interface ICalculationService {
    /**
     * 获取所有工资计算记录
     * @param cond 搜索条件
     * @return
     */
    List<CalculationDomain> selectCalculationList(CalculationCond cond);

    /**
     * 获取指定工资计算记录
     * @param calculationItemId 计算项目编号
     * @return
     */
    CalculationDomain selectCalculationById(String calculationItemId);

    /**
     * 新增工资计算记录
     * @param calculation 员工事件记录
     * @return
     */
    int insertCalculation(CalculationDomain calculation);

    /**
     * 修改工资计算记录
     * @param calculation 员工事件记录
     * @return
     */
    int updateCalculation(CalculationDomain calculation);

    /**
     * 删除工资计算记录
     * 仅修改删除标志
     * @param calculation
     * @return
     */
    int updateCalculationDeleteFlag(CalculationDomain calculation);

    /**
     * 获取所有数据字段
     * @return
     */
    List<String> getALLDataField();
}
